package com.cunfang.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.cunfang.base.service.BaseService;
import com.cunfang.entity.Page;
import com.cunfang.entity.PageData;
import com.cunfang.entity.UserInfo;
import com.cunfang.util.CONNECTOR;
import com.cunfang.util.ConfigUtil;
import com.cunfang.util.MD5;

@Service("com.cunfang.finance.sys.dict")
public class DictService extends BaseService {

	/**
	 * 
	 * @throws Exception 
	 * @功能: 获取字典
	 * @作者: rxj
	 * @日期: 2017年7月10日
	 */
	@SuppressWarnings("unchecked")
	public String get(PageData pd) throws Exception {
		if (!pd.containsKey("id")) {
			return this.outError("缺少参数id");
		}
		PageData menuPd = (PageData) this.getDao().findForObject(
				"DictMapper.get", pd);
		return this.outPageData(menuPd);
	}
	/**
	 * 
	 * @throws Exception 
	 * @功能: 字典管理列表
	 * @作者: rxj
	 * @日期: 2017年7月10日
	 */
	@SuppressWarnings("unchecked")
	public String findDictList(PageData pd) throws Exception {
		Page page = new Page();
		page.setCurrentPage(Integer.parseInt(pd.getStrings("currpage")));
		page.setShowCount(Integer.parseInt(pd.getStrings("count")));
		page.setPd(pd);
		List<PageData> list= (List<PageData>) this.getDao()
				.findForList("DictMapper.findDictList", page);
		return this.outPage(page, list);
	}
	
	/**新增字典
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public String add(PageData pd) throws Exception {
		if (!pd.containsKey("dict_name")) {
			return this.outError("缺少参数dict_name");
		}
		if (!pd.containsKey("dict_type")) {
			return this.outError("缺少参数dict_type");
		}
		if (!pd.containsKey("dict_value")) {
			return this.outError("缺少参数dict_value");
		}
		pd.put("status", "0");
		pd.put("del_flag", "0");
		Integer i = (Integer) this.getDao().save("DictMapper.addDictInfo", pd);
		if (i > 0) {
			return this.outString("success");
		}
		return this.outError("error");		
	}
	/**修改字典
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public String update(PageData pd) throws Exception {
		if (!pd.containsKey("dict_name")) {
			return this.outError("缺少参数dict_name");
		}
		if (!pd.containsKey("dict_type")) {
			return this.outError("缺少参数dict_type");
		}
		if (!pd.containsKey("dict_value")) {
			return this.outError("缺少参数dict_value");
		}
		Integer i = (Integer) this.getDao().update("DictMapper.updateDictInfo", pd);
		if (i > 0) {
			return this.outString("success");
		}
		return this.outError("error");		
	}

	/**删除字典
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public String deleteDict(PageData pd) throws Exception {	
		if (!pd.containsKey("id")) {
			return this.outError("缺少参数id");
		}
		Integer i = (Integer) this.getDao().delete("DictMapper.deleteDict", pd);
		if (i > 0) {
			return this.outString("success");
		}
		return this.outError("error");		
	}
	/**获取字典类型列表
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public String getDictTypeList(PageData pd) throws Exception {	
		Page page = new Page();
		page.setCurrentPage(Integer.parseInt(pd.getStrings("currpage")));
		page.setShowCount(Integer.parseInt(pd.getStrings("count")));
		page.setPd(pd);
		List<PageData> list = (List<PageData>) this.getDao().findForList(
				"DictMapper.getDictTypeList", page);
		return this.outPage(page, list);
	}
	
	
	
}
